package moxl.parser.assemblers.closeelement;

public enum CloseElementAssemblerState
{
	CloseElementStartState(new CloseElementStartState()),
	CloseElementEndState(new CloseElementEndState()),
	CloseElementExpectingCloseOrWhitespaceState(new CloseElementExpectingCloseOrWhitespaceState()),
	CloseElementExpectingCloseState(new CloseElementExpectingCloseState()),
	CloseElementExpectingNameState(new CloseElementExpectingNameState()),
	CloseElementEnd(new CloseElementEndState());

	public static final CloseElementAssemblerState START = CloseElementStartState;
	public static final CloseElementAssemblerState END = CloseElementEndState;
	
	private final CloseElementStateDelegateBase delegate;

	CloseElementAssemblerState(CloseElementStateDelegateBase delegate)
	{
		this.delegate = delegate;
		delegate.associateState(this);
	}

	public CloseElementStateDelegateBase getDelegate()
	{
		return delegate;
	}

}
